package com.ruiysoft.controller.integral.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.validation.annotation.Validated;

import javax.validation.constraints.NotNull;
import java.util.Objects;

/**
 * IntegralTradeVo
 */
@Validated
@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2019-04-14T02:53:51.729+08:00")

public class IntegralTradeVo   {
  @JsonProperty("shopId")
  private Long shopId = null;

  @JsonProperty("userId")
  private Long userId = null;

  @JsonProperty("integral")
  private Long integral = null;

  @JsonProperty("tradeNo")
  private String tradeNo = null;

  public IntegralTradeVo shopId(Long shopId) {
    this.shopId = shopId;
    return this;
  }

  /**
   * shopId
   * @return shopId
  **/
  @ApiModelProperty(example = "1", required = true, value = "shopId")
  @NotNull


  public Long getShopId() {
    return shopId;
  }

  public void setShopId(Long shopId) {
    this.shopId = shopId;
  }

  public IntegralTradeVo userId(Long userId) {
    this.userId = userId;
    return this;
  }

  /**
   * 用户id
   * @return userId
  **/
  @ApiModelProperty(example = "1", required = true, value = "用户id")
  @NotNull


  public Long getUserId() {
    return userId;
  }

  public void setUserId(Long userId) {
    this.userId = userId;
  }

  public IntegralTradeVo integral(Long integral) {
    this.integral = integral;
    return this;
  }

  /**
   * 交易积分额度
   * @return integral
  **/
  @ApiModelProperty(example = "1", required = true, value = "交易积分额度")
  @NotNull


  public Long getIntegral() {
    return integral;
  }

  public void setIntegral(Long integral) {
    this.integral = integral;
  }

  public IntegralTradeVo tradeNo(String tradeNo) {
    this.tradeNo = tradeNo;
    return this;
  }

  /**
   * 交易唯一识别b号（单号）
   * @return tradeNo
  **/
  @ApiModelProperty(example = "12938374783", required = true, value = "交易唯一识别b号（单号）")
  @NotNull


  public String getTradeNo() {
    return tradeNo;
  }

  public void setTradeNo(String tradeNo) {
    this.tradeNo = tradeNo;
  }


  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    IntegralTradeVo integralTradeVo = (IntegralTradeVo) o;
    return Objects.equals(this.shopId, integralTradeVo.shopId) &&
        Objects.equals(this.userId, integralTradeVo.userId) &&
        Objects.equals(this.integral, integralTradeVo.integral) &&
        Objects.equals(this.tradeNo, integralTradeVo.tradeNo);
  }

  @Override
  public int hashCode() {
    return Objects.hash(shopId, userId, integral, tradeNo);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class IntegralTradeVo {\n");

    sb.append("    shopId: ").append(toIndentedString(shopId)).append("\n");
    sb.append("    userId: ").append(toIndentedString(userId)).append("\n");
    sb.append("    integral: ").append(toIndentedString(integral)).append("\n");
    sb.append("    tradeNo: ").append(toIndentedString(tradeNo)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }
}

